package com.itheima.mapper;

import com.itheima.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

@Mapper
public interface UserMapper {
    // 根据用户名查询用户
    @Select("select * from user where username=#{username}")
    User findByUserName(String username);

    // 添加
    @Insert("insert into user(username,password,create_time,update_time)" +
            " values(#{username},#{password},now(),now())")
    void add(String username, String password);

    @Update("update user set nickname=#{nickname},email=#{email},update_time=#{updateTime} where id=#{id}")
    void update(User user);

    @Update("update user set user_pic=#{avatarUrl},update_time=now() where id=#{id}")
    void updateAvatar(String avatarUrl, Integer id);

    @Update("update user set password=#{md5String},update_time=now() where id=#{id}")
    void updatePwd(String md5String, Integer id);
    // 查询总记录数
    @Select("SELECT COUNT(*) FROM user")
    long countUsers();

    // 分页查询用户
    @Select("SELECT * FROM user LIMIT #{start}, #{size}")
    List<User> findUsersByPage(@Param("start") int start, @Param("size") int size);
    // 删除用户
    @Delete("delete from user where id=#{userId}")
    void deleteUser(@Param("userId") Long userId);
}
